package com.mybatis.mapper;

import com.mybatis.entity.User;

import java.util.HashMap;
import java.util.List;

public interface UserMapper {

    /**********表明为关键字处理方式一:数据库名.表名**********/

    /****************************select****************************/
    List<User> selectAllUser();

    User getUserById(int id);

    User getUserByUserNamePasswordAge1(HashMap<String, Object> map);

    User getUserByUserNamePasswordAge2(User user);

    /****************************fuzzy search****************************/
    List<User> fuzzySearchUserByUsername(String username);

    /****************************select limit****************************/
    List<User> getUserByLimit(HashMap<String, Integer> map);

    /****************************insert****************************/
    int insertUser(User user);

    /****************************update****************************/
    int updateUser(User user);

    /****************************delete****************************/
    int deleteUserById(int id);

    /****************************<if>/<where>****************************/
    List<User> selectUserByUserInfo(HashMap<String, Object> map);

    /****************************<foreach>****************************/
    List<User> selectUserByForeach(HashMap<String, Object> map);


    /****************表名为关键字处理方式二:`表名`(不是上引号，是tab键上面的的符号)****************/

    /****************************select****************************/
    List<User> selectAllUser_2();

    User getUserById_2(int id);

    User getUserByUserNamePasswordAge1_2(HashMap<String, Object> map);

    User getUserByUserNamePasswordAge2_2(User user);

    /****************************剩余的略****************************/

}
